home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WW3DKit / WWShaderArgPointMatrix.m < prev    next >
Encoding:
Text File  |  1995-03-22  |  1.2 KB  |  69 lines

  1. // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
  2. // see COPYRIGHT for reuse legalities
  3. //
  4.  
  5.  
  6. #import "WWShaderArgPointMatrix.h"
  7.  
  8. @implementation WWShaderArgPointMatrix
  9.  
  10. + initialize { return [WWShaderArgPointMatrix setVersion:1], self; }
  11.  
  12. - initFrame:(const NXRect *)r 
  13. {
  14.    [super initFrame:r];
  15.    shaderArgName = NULL;
  16.    return self;
  17. }
  18.  
  19. - awake
  20. {
  21.    [super awake];
  22.    return self;
  23. }
  24.  
  25. - free
  26. {
  27.   if (shaderArgName) {  free(shaderArgName); }
  28.   return [super free];
  29. }
  30.   
  31. - setShaderArgName:(const char *)newShaderArg
  32. {
  33.   if (shaderArgName) 
  34.   {  free(shaderArgName);
  35.   }
  36.   shaderArgName = NXCopyStringBuffer(newShaderArg);
  37.   return self;
  38. }
  39.  
  40. - (const char *)shaderArgName { return (const char *)shaderArgName; }
  41.  
  42. #define typeVector "*"
  43. #define typeValues &shaderArgName
  44.  
  45. - read:(NXTypedStream*)stream 
  46. {
  47.   int version;
  48.  
  49.  
  50.   [super read:stream];
  51.  
  52.   version = NXTypedStreamClassVersion(stream,"WWShaderArgPointMatrix");
  53.   if (version == 0) NXReadTypes(stream,"i",&version), version=1;
  54.   if (version == 1)
  55.   {  NXReadTypes(stream, typeVector, typeValues);
  56.   }
  57.   return self; 
  58. }
  59.  
  60. - write:(NXTypedStream*)stream 
  61. {
  62.   [super write:stream];
  63.  
  64.   NXWriteTypes(stream,typeVector, typeValues);
  65.   return self;
  66. }
  67.  
  68. @end
  69.